<?php
/**
*
*/
class AuthenticateController extends Controller
{

	public function actionIndex()
	{
		if(isset($_POST['LoginForm']))
			$this->login();
		elseif(isset($_POST['forgetPassword']))
		{
			$this->forgetPassword();
		}
	}

	public function login()
	{
		$model=new LoginForm;
		$model->attributes=$_POST['LoginForm'];
		if(!($model->validate()))
			echo 'Không hợp lệ';
		else
			echo $model->login();
	}

	public function actionLogout()
	{
		//Nếu chưa đăng nhập thì hiển thị login
		if (Yii::app()->user->getIsGuest())
		{
			$this->redirect(Yii::app()->request->baseUrl);
		}
		else
		{
			Yii::app()->user->logout();
			$this->redirect(Yii::app()->request->baseUrl);
		}
	}

	public function forgetPassword()
	{
		if(isset($_POST['emailAddress'])&&($_POST['emailAddress'] != ''))
		{
			$email = $_POST['emailAddress'];
			$user = @User::model()->find('LOWER(email)=?',array($email));
			if(isset($user))
			{
				$randomPassword = $this->rand_string(6);
				$temp = User::model()->changePassword($email, $randomPassword);
				if($temp)
				{
					$_POST['email'] = $email;
					$_POST['header'] = 'Phục hồi mật khẩu từ Fly High';
					$_POST['message'] = "Mật khẩu của bạn được đổi là : $randomPassword";

					$mail = new Mail;
					$mail->layTuPost($_POST);

					$check = $mail->guiThu();
					if($check)
						echo "Mật khẩu của bạn đã được gửi tới địa chỉ email, Truy cập địa chỉ email để lấy mật khẩu mới.";
					else
						echo "Mật khẩu của bạn được đổi là : $randomPassword";
				}
				else
				{
					echo "Phục hồi mật khẩu thất bại. Liên hệ quản trị website.";
				}
			}
			else
			{
				echo "Không tồn tại địa chỉ email này.";
			}
		}
		else
		{
			echo "Không được để trống địa chỉ email.";
		}
	}

	private function rand_string( $length )
	{
		$chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
		$size = strlen( $chars );
		$str = '';
		for( $i = 0; $i < $length; $i++ )
		{
			$str .= $chars[ rand( 0, $size - 1 ) ];
		}
		return $str;
	}

	public function checkOnline()
	{
		//Nếu chưa đăng nhập thì hiển thị login
		if (Yii::app()->user->getIsGuest())
			return 'Chưa đăng nhập';
	}
}
?>